Electronic commerce has become increasingly popular in today's society. Electronic commerce provides the ability to conduct business over a network and includes services and products that are available to the consumer online. An important element in conducting business online is the ability of a network to group or direct information that relates to the same transaction. This grouping of information allows data that is sent at different times to be aggregated into a single transaction before it is processed. For example, in the case of services that are available online, this grouping of information allows cumulative data that is input by a consumer to be collected at a single point before being processed. In the case of products being sold online, this grouping of information would allow items selected by a consumer to be aggregated into a single account before purchasing all of the items in the lot. Because speed and efficiency are tantamount in network communications, it is important for this grouping function to be performed without hindering the traffic flow within the network.
Some business service providers and online merchants have addressed this grouping function by “stickying” pieces of information that are interrelated so that all information relating to a single transaction is directed to one location for processing. “Stickying” generally refers to a process for recognizing and categorizing related pieces of information. The “stickying” of information is generally assisted by the use of a cookie which writes some identification script back to a user's memory or hard drive. The cookie remains as an identification tool for the transaction until the transaction is complete. It is this conventional stickying technique that has been generally adequate for its intended purpose but not satisfactory in all respects. In this regard, existing “stickying” processes tend to have one or more of several disadvantages.
One problem with “stickying” processes, which use a cookie, is that the cookie is injected as an identification tool only after a request sent by a user to a component in the network. Because the cookie is not within the message before it is initially transmitted, software must be developed and implemented to generate and insert the cookie into the message while it is being processed. This complex software results in a substantial delay in the processing of the message. In addition, if the software faults in inserting the cookie or inserts an inaccurate identifier, the message and related information will not reach their intended destination.
Another problem with “stickying” processes is that they require some component in the network, generally a load balancer, to proxy or maintain a connection while identification information from the request is recognized. This recognition causes a delay in processing and increases the burden on the load balancer because the load balancer is not simply directing the request. Instead, the load balancer is forced to suspend direction of the request until the desired identification information is extracted from the message.
Yet another problem with existing “stickying” processes is that many users prefer not to use them. An increasing number of business service providers and online merchants currently provide the option to a user to decline the use of the cookie element. If the cookie is refused, network components are unable to identify information relating to the same transaction and thus cannot direct interrelated information properly. With the cookie element absent, information in the network is sent to random destinations.
Still another problem with existing “stickying” processes is that they are unreliable. As a request proceeds through the network, the additional identification tool can often be changed, lost, or deleted over the life of the transaction. If the identification tool is inaccurate or missing, the request and the information related to the request is simply directed to random locations. These random locations each receive a piece of information that relates to the transaction, but the related information is not processed at a single site. Overcoming this problem generally requires large amounts of processing power to be added to a load balancer. This addition to the load balancer is undesired because it increases the complexity and cost of directing information within the network.